Specification-Driven Design with Eiffel and Agents for Teaching Lightweight Formal Methods
نویسندگان
چکیده
We report on our experiences in teaching lightweight formal methods with Eiffel. In particular, we discuss how we introduce formal methods via Eiffel’s design-by-contract and agent technologies, and how we integrate these techniques with test-driven development, in an approach called specification-driven design. This approach demonstrates how formal methods techniques fit with industrial software engineering practice.
منابع مشابه
E-Tester: a Contract-Aware and Agent-Based Unit Testing Framework for Eiffel
We describe a contract-aware unit testing framework, E-Tester, for the Eiffel programming language. The framework differs from JUnit in its first-class support for lightweight formal methods, through test support for contracts and assertions. As well, it supports a form of negative test, called violation cases, which aim at validating contracts. It also differs based on its use of agents for ex...
متن کاملBON-CASE: An Extensible CASE Tool for Formal Specification and Reasoning
We describe BON-CASE, an extensible tool for the BON modelling language. The tool’s support for formal techniques – in particular, for formal specification of contracts and frames, as a platform for verification of Eiffel code, for lightweight integration with existing reasoning tools (such as type checkers, theorem provers, and static assertion checkers), and its extensible architecture – is d...
متن کاملReuse-Based Programming with the Eiffel Libraries
James McKim is a professor of computer science at the Hartford Graduate Center and has more than 25 years experience teaching mathematics and computer science. He has authored, coauthored and reviewed a number of textbooks and articles in both areas. His research interests include object-oriented programming and design in general, and class interface specification in particular. He has been tea...
متن کاملContracting and Proving Classes with Models
Functional specification and verification often requires specialized mathematicians to do the work. Software development and proving correctness are regarded as separate activities. We want developers to do the specification and verification. One of the promising approaches for letting developers create specifications is the “Design by Contract” methodology [7] as present in the Eiffel language...
متن کاملHow Specifications Change and Why You Should Care
Contracts are a form of lightweight formal specification embedded in the program text; by combining specification and implementation, they try to make it easier for programmers to write and update the specification. Motivated by the importance of having accurate specifications over a system’s lifetime, this paper presents an extensive empirical study of 15 software projects in Eiffel and C# usi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004